from django.db import models

# Create your models here.


class Users(models.Model):
    """数据库字段,中途添加字段必须提供默认值, 表以被删除
    DateTimeField和DateField和TimeField存储的内容分别对应着datetime(),date(),time()三个对象。
    null针对数据库，如果null=True，表示数据库的该字段可以为空。

    blank针对表单的，如果blank=True，表示表单填写该字段时可以不填
    """

    uname = models.CharField('用户名', max_length=11,
                             primary_key=True)  # primary_key主键
    pwd = models.CharField('密码', max_length=32)
    nickname = models.CharField('昵称', max_length=30)
    email = models.EmailField('邮箱', max_length=50, null=True)  # null=True 可以为空
    sign = models.CharField('签名', max_length=50, default='这个小伙汁很懒,什么都没有写!')
    info = models.CharField('个人说明', max_length=150, default='这个小伙汁很懒,什么都没有写!')

    # upload_to头像图片存放的位置,该功能需要pip install Pillow 模块提供, 定义 ImageField 字段时必须制定参数
    avatar = models.ImageField(
        '头像', upload_to='avatar/', default='avatar/default.png', blank=True, null=True)

    # auto_now_add 第一次保存时间, 用于创建时间
    dates = models.DateTimeField('创建时间', auto_now_add=True)
    up_dates = models.DateTimeField('修改时间', auto_now=True)

    # def __str__(self) -> str:
    #     return f"用户名: {self.uname}, 密码: {self.pwd}, 昵称: {self.nickname}"

    class Meta:
        db_table = 'users'
        # managed = True
        verbose_name = '用户表(user)'
        verbose_name_plural = '用户表(user)'
